Location-based addressing lighting and environmental control system, device and method

ABSTRACT

Location-Based Addressing (LBA) is a method of controlling and commissioning networked lighting devices. The lighting devices communicate over a wireless network using radio frequency communication protocols. The lighting devices are commissioned or grouped based on their 5 respective locations in a building floor plan or a building architecture. The lighting devices are commissioned to respond to radio frequency communications that correspond to their respective locations. This imposed location-based architecture reduces the amount of transmitted data required to control the lighting devices and, thus, reduces the radio bandwidth required to control the lighting devices. In other words, controlling devices “multicast” instructions and controlled devices “listen” for instructions and act only upon instructions that correspond to their respective location. Hand shaking or two-way communication between the controlling devices and the controlled devices is not required.

RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.16/411,952, filed May 14, 2019, which is a continuation of U.S.application Ser. No. 16/005,542, filed Jun. 11, 2018, now U.S. Pat. No.10,291,426, which is a continuation of U.S. application Ser. No.15/430,159, filed Feb. 10, 2017, now U.S. Pat. No. 9,998,296, which is acontinuation of U.S. application Ser. No. 14/452,278, filed Aug. 5,2014, now U.S. Pat. No. 9,577,839, which is a continuation of U.S.application Ser. No. 12/927,716, filed Nov. 23, 2010, now U.S. Pat. No.8,796,958, which is a continuation of U.S. application Ser. No.10/934,222, filed Sep. 3, 2004, now U.S. Pat. No. 7,889,051, which inturn claims priority to U.S. Provisional Application 60/500,640, filedSep. 5, 2003. The U.S. patent application Ser. No. 10/934,222 filed Sep.3, 2004 and titled “LOCATION-BASED ADDRESSING and the provisional patentapplication Ser. No. 60/500,640 filed on Sep. 5, 2003, and titled“LOCATION-BASED ADDRESSING LIGHTING AND ENVIRONMENTAL CONTROL SYSTEM,DEVICE AND METHOD” are both hereby incorporated by reference.

FIELD OF THE INVENTIONS

The inventions described below relate the field of lighting andenvironmental control systems, devices and methods. More particularly,this invention relates to systems, devices, and methods that useaddressing to control lighting and environmental control systems.

BACKGROUND OF THE INVENTIONS

Residential homeowners often wish to remotely control electricalcomponents in their homes. A homeowner may, for example, wish to controlthe electrical components from a control device at a single, centrallocation. Using one prior art system, the homeowner can press onesequence of buttons on the control device to turn on one remote light,or he can press a second sequence of buttons on the control device toturn on another remote light. Using this system, the control devicefirst learns or is programmed with a unique address for each remotelight. The system is then able to individually address each remote lightto thereby control it, such as by sending it a command to turn on oroff. The system can also be used to commission multiple lights into aset so that each light in the set is identified by the same set address.In this way, all the lights in the set can be addressed and therebycontrolled by transmitting a single command to the set. This latteraddress is generally referred to as a multicast address.

This and other prior art systems have several drawbacks. First, whencommissioning lights or other electronic devices into a set, the controldevice must learn or be programmed to contain the unique address of anindividual light or other electronic device. Second, these systems donot scale well. When individually controlling multiple devices in aroom, the control device must send commands to each device, atime-consuming process. Third, these systems are difficult to maintain.When a device is replaced, all control devices used to control it mustlearn the address of the replacement device. For these reasons, it isalso difficult to automate or customize a system to control thesedevices.

SUMMARY

The present invention is directed to a method of and a system forcommissioning and controlling electronic devices using location-basedaddresses instead of device or logical addresses. Devices are preferablylight fixtures, light switches, power outlets and combinations thereof.However, it will be clear to one skilled in the art that the device canbe any number of electronic devices or appliances, including, but notlimited to, heating units and air-conditioning units.

In accordance with the present invention, devices are commissioned intoa set that preferably corresponds to a physical location, such asdetermined by a floor plan for a home, corporate building, or otherstructured physical environment. Electronic devices that arecommissioned in accordance with the method of the present inventionoperate and inter-operate by messages directed to spatial locationsrather than individual device addresses and thus require less bandwidthto implement the controls in contrast to two-way or “handshaking”methods of messaging typically used to communicate between devices.

In accordance with the present invention, a first device transmitscontrol signals used to control the devices having correspondinglocation descriptors (LDs) using anonymous multicast signals. LDsdesignate the physical locations where the devices are commissioned.Each control signal contains a location-based address (LBA) that selectsa set or group of electronic devices (target devices) and a functioncode corresponding to a specific function to be performed by the targetdevices. LBAs are address codes contained in a message or signal thatselected the corresponding to target devices.

A function code, for example, can instruct each target device to turn onor off or to adjust its settings. Because one control signal can controlmultiple devices, fewer control signals are needed to control thesedevices, reducing both the bandwidth used and the complexity of devicesto be controlled.

As used herein, when an electronic device transmits a control signal tocontrol devices in a set, it is referred to as a transmitting device;when an electronic device receives a control signal and performs afunction corresponding to a function code contained in the controlsignal, it is referred to as a receiving device. Preferably, eachelectronic device is able to function as both a transmitting device anda receiving device, also referred to as a “controlling device” and a“controlled device,” respectively.

The system in accordance with the present invention efficiently controlsdevices using various means. For example, a transmitting device in thesystem transmits control signals as anonymous multicast signals, whichdo not use any handshaking protocols. The use of anonymous multicastsignals reduces the number of control signals transmitted in accordancewith the present invention, thus reducing traffic. Each receiving deviceis also programmed with a number of programmed functions. Eachprogrammed function can be performed on the receiving device when thedevice is initially commissioned into a set, when the device receives acontrol signal containing a function code associated with the programmedfunction, or when an execution criterion is met, such as the occurrenceof a programmed time. Thus, for example, by executing a programmedfunction on lighting units contained in a set, all of the lights in theset can be dimmed to a specific level at a specific time. As a fail-safemeasure, the transmitting device can assure that the receiving devicesreceive the control signal by repeatedly transmitting the control signalmultiple times within a given time window.

By organizing the LBAs in a hierarchical manner, devices can be moreconveniently controlled. Sets corresponding to an LBA can, however, beconfigured in any number of ways. In one embodiment, a set contains afirst set of devices located at a first location (such as a first areaof a room) and a second set of devices located at a second location(such as a second area of a room). The first and second sets or groupsof devices can be commissioned so that they have LDs that are selectableor operable using a single LBA. Thus, these devices are addressable andcan thus be controlled using a single control signal addressed with asingle LBA. Sets can thus be configured and thus controlled in anynumber of ways to fit the application at hand.

In accordance with the present invention, a system for controlling adevice using location-based addresses comprises a first device and asecond device. The first device is configured to transmit controlsignals containing LBAs and function codes. The second device iscommissioned to have a one or more LDs. That is, the second device hasstored in memory one or more LDs that correspond to one or more sets ofdevices to which the second device has been commissioned into. Thesecond device is said to be bound to the one or more set correspondingto the one or more LDs, a concept referred to as address binding. Thesecond device is further configured to receive the control signals andto automatically execute functions corresponding to the function codesin response to a match of the LBAs and the one or more LDs. It isunderstood from the description below, that a match between an LBA of acontrol signal and an LD of a device does not require that the LBA andthe LD have the same value. For example, the LBA can include a datafield with a “wild card” code, in which case multiple LDs provide amatch and all receiving devices with matching LDs will execute thecorresponding function codes.

It will also be appreciated that the first device can be commissionedwith one or more LDs that are the same or different from the one or moreLDs of the second device and can be configured to receive controlsignals. Thus the first device can be a controlled device and acontrolling device. In fact a number of devices in a system arepreferably configured to and can be both controlled and controllingdevices. However it is understood that a number of devices in the systemcan be dedicated controller devices or dedicated controlling devices.

Preferably, the LBAs have a hierarchical structure represented a datastructure. The data structure has a first field corresponding to abuilding, a second field corresponding to one of a house within thebuilding or a floor within the building, a third field corresponding toa room on one of the house and the floor, a fourth field correspondingto an area within the room, and a fifth field corresponding to one of adevice type or a set of devices within the area.

Devices in the system of the present invention preferably transmit andreceive control signals over a wireless medium. Accordingly, devicespreferably include transceivers that are for transmitting and receivingradio control signals or infrared control signals. Where thetransceivers are radio transceivers, the devices preferably transmit andreceive control signals using frequencies between 902 MHz and 928 MHz.Alternatively, devices transmit and receive control signals overhard-wired media including, but not limited to, Ethernet cabling, powerlines in a power-line network, fiber optic cables, or any combination ofthese.

Preferably, control signals are anonymous multicast signals.Alternatively, the control signals are multicast signals, broadcastcontrol signals, or any other kind of transmitted control signals,depending on the application at hand. It will be appreciated thatdevices can be configured to transmit different types of controlsignals. Devices can transmit and receive multicast signals or unicastsignals when a direct response to a transmitted control signal isappropriate, or based on the time of day or other suitable criteria. Forexample, during the day (a high traffic period), the devices cancommunicate using anonymous multicast signals. Later, when the trafficis lower, such as at night, on weekends, or on holidays, the system canswitch to use multicast or other control signals.

In another embodiment, the system includes a device that is configuredto receive and store location-based addresses and function codescorresponding to a sequence of previously transmitted control signals.The device is also configured to generate and transmit a sister set ofcontrol signals that correspond to the sequence of transmitted controlsignals. Such a device is referred to herein as a “playback” device. Theplayback device is particularly useful for operating lights andappliances when a residence is unoccupied and thus provides theappearance that the residence is occupied. The sister set of controlsignals do not necessarily provide a one-to-one correspondence to thesequence of previously transmitted control signals and selectiveplayback of any portion of the sequence of previously transmittedcontrol signals by the playback device is considered to be within thescope of the invention.

In accordance with the method of the present invention, a devicecommissioned with one or more LDs is controlled by transmitting controlsignals containing LBAs and function codes, receiving the controlsignals at the device and automatically executing functionscorresponding to the function codes when the one or more LDs and thelocation based address match. Preferably, the device is one of aplurality of devices commissioned to the set having a common LD whereineach device is configured to receive the control signal and, inresponse, execute the function.

In yet further embodiments of the invention, the function comprisestransmitting status about each device that can be received and stored tocompile a history about a system. This history can be used formaintenance, security, the development of new protocols or any otherpurpose.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of devices contained in a building andhaving location based addresses associated with each device's type, theoffice it is contained in, and the floor that each office is containedin, in accordance with the present invention.

FIG. 2 is a diagram of two groups of devices contained in a room, afirst device in a first set controlling the other devices in the firstset but not the devices in the second set, in accordance with thepresent invention.

FIG. 3 is a diagram of a portable device used to control the devices inthe first set of FIG. 5, in accordance with the present invention.

FIG. 4 is a schematic of a transmitting device controlling a receivingdevice using a location-based address in accordance with the presentinvention.

FIG. 5A is a high-level diagram of a building containing houses, used todescribe location-based addressing in accordance with the presentinvention.

FIG. 5B is a hierarchical and physical diagram showing domainscontaining devices and how the hierarchical relationship is used tobuild a location-based address in accordance with the present invention.

FIG. 6 is a diagram of a template for a data structure containinghierarchical address information and control information included in acontrol signal in accordance with the present invention.

FIG. 7A is a first diagram of a template for the address informationshown in FIG. 6.

FIG. 7B is a diagram of a completed data structure for the templateshown in FIG. 7A using numbered components.

FIG. 7C is a diagram for a completed data structure for the templateshown in FIG. 7B using text components.

FIG. 8 is a second diagram of a template for the address informationshown in FIG. 6.

FIG. 9 is a diagram of a data structure encoded onto a control signaland used to control a receiving device in accordance with the presentinvention.

FIG. 10 is a diagram of a hierarchical location-based address inaccordance with the present invention.

FIG. 11 is a diagram of a memory in a receiving device containingmultiple location-based addresses in accordance with the presentinvention.

FIG. 12 is a schematic of a lighting unit controlled usinglocation-based addressing in accordance with the present invention.

FIG. 13 is a flow chart for the steps performed when a first devicecommissions other devices into a set in accordance with the presentinvention.

FIG. 14 is a flow chart for the steps performed when a second device iscommissioned into a set in accordance with the present invention.

FIG. 15 shows a table illustrating types of signals and the source anddestination address contained in each signal.

DETAILED DESCRIPTION OF THE INVENTIONS

To facilitate the clarity of the ensuing description, words listed belowhave been ascribed the following meanings:

1) LOCATION—A position in a spatial environment, as commonly defined bythe planner or user of that environment. Generally, a location isspecified, for completeness, in a hierarchical manner that serves touniquely define the position, for example, as the “main conference roomon the third floor of the main building”. For most applications, alocation corresponds to a place on, or section of, a building floorplan. For each location, there are often others that, by relation, areless or more specific than it, corresponding to higher or lower levelsin the hierarchy; in the foregoing example, a less-specific location isthe entire “third floor of the main building”, while a more specificexample might be the“speaker's podium of the main conference room on thethird floor of the main building”.

2) LOCATION DESCRIPTOR (LD)—An n-tuple that encodes a location,generally constructed with one field encoding each level of thecorresponding hierarchy. For example, the first member might encode thebuilding within a campus of buildings, the second member the floorwithin a selected building, the third a room on that selected floor, thefourth an area within the selected room, and so on.

3) LOCATION ATTRIBUTE—A characteristic associated with a level withinthe location hierarchy, often associated with a particular manner orpattern of use. A preset is the most common example of a locationattribute. Each location can have zero, one, or many attributesassociated with it.

4) LOCATION-BASED ADDRESS (LBA)—An n-tuple that encodes a location andoptionally location attribute, and, when matched against one or morelocation descriptors and optionally location attributes, selectsintended recipients for a message. The LBA is commonly encoded so thatone particular value for each field in then-tuple is a “wild card”,matching any possible value in that field. An LBA is said to match an LDif and only if each field of the LBA exactly matches the correspondingfield of the LD, or if the field of the LBA is the wild card code.

5) PRESET—A recorded state for a device or devices, and, optionally, atime period over which the transition to the recorded state shouldoccur. Each level in the location hierarchy can potentially have one ormore presets associated with it. For example, a set of presets may bedefined for each room in a house, while another disjoint set of presetsmay be defined for the whole house. In addition to the transition timenoted above, each preset may additionally have an associated delay time,which must elapse before any transition from the present state to therecorded preset state may commence. Presets are most often associatedwith a particular use of the associated location. In the case of aconference room, possible uses might include “presentation”,“discussion”, “movie”, “cleanup”, and so on. Presets may also beassociated with an event, or change-of-status, of the location,including the transition from a vacant to an occupied state, orvice-versa, an intrusion or security event, or a change in anycharacteristic of the environment (ambient light level, temperature,humidity, etc.).

6) SCENE—The state of the environment defined by recalling a particularpreset in a given location, thereby setting all desired devices in thatcontext into a state appropriate to a particular use.

To further clarify the above definitions, consider the case of aresidence in a condominium complex. An example of a location might be:

West Building, Residence 110, Living Room

To express a location descriptor for a device installed in thislocation, an encoding must be chosen. The buildings in the complex couldbe numbered as follows:

East Building=1, West Building=2, North Building 3, South Building=4

The residence number can be used to encode the residence, or house. Therooms within a residence could be encoded as follows:

Entrance Hall=I, Kitchen 2, Dining Room 3, Lavatory 4, Living Room 5, .. . .

The location descriptor describing the above mentioned location wouldthen be: LD <BUILDING 2, HOUSE 110, ROOM=5> Let us further consider thatthere may be a number of presets associated with the living room; eachsuch preset would have an encoding for presentation in a location-basedaddress. In this case, one might have the following definitions:Reading=1, Watching Television=2, Entertaining=3, Clean-Up=4, . . . .

To communicate only with those devices that would be used, in the livingroom, while watching television, the following location-based addresscould be used to direct the message:

LBA=<BUILDING 2, HOUSE 110, ROOM=5, AREA=ALL, PRESET=2>

As a second example, consider that a device is commissioned intoBuilding 1, House 25, Room 4, we could have an LD that represented by:

LD . . . <Building=1, House=25, Room=4>

Given the description provided above, all of the following LBAs wouldmatch the LD=<Building. 1, House 25, Room=4>:

LBAO=<Building 1, House 25, Room 4> (an exact match)

LBA1<Building 1, House 25, Room=0> (matches all rooms in thathouse/building)

LBA2=<Building=1, House=0, Room=0> (matches all houses and rooms in thatbuilding)

LBA3=<Building=0, House=0, Room=0> (matches all possible LDs)

LBA4=<Building 0, House=25, Room=0> (matches any LD that has a House idof 25, regardless of its building id or room id)

The following LBAs would NOT match the given LD: LBA5=<Building=4,House=25, Room=4> (building id differs) LBA6==<Building=4, House=80,Room=0> (house id does not match, so wild card in room id field does notmatter)

In accordance with the present invention, devices are commissioned withone or more Location Descriptors (LDs), preferably denoting the physicallocation of each device, such as determined by a floor plan. Pursuant tosuch commissioning, the devices can be operated, and can inter-operate,by messages directed to spatial locations or addresses, rather thanindividual device addresses or logical addresses. As will be evidentfrom the following discussion, the present invention simplifies theinstallation and maintenance of control networks, and decreases thecommunications bandwidth required to implement the control, therebyreducing product and maintenance costs.

The present invention is directed to a method of and a system forcontrolling electronic devices using location-based addresses (LBAs). Asdescribed above LBAs are part of the messaging data or a control signalthat is broadcast or transmitted from a device to other “listening”devices. If a listening device has an LD that matches an LBA within amessage data or the control signal that is broadcast or transmitted thenthe listening device will process the message data or control signal asa command. Alternatively, if any part of the LBA presented in themessage data or control signal consists of a wild card code, then anyvalue present in that corresponding part of the LD will be accepted as amatch, and, if all other non-wild-card parts also match, the listeningdevice will process the message data or control signal as a command. Itwill be clear to one skilled in the art that a device can broadcast ortransmit message data or control signals that are encoded for or containmore than one LBA and that listening devices can be commissioned withmore than one LD.

The present invention advantageously uses location-based addressing tocontrol devices such as light switches, light fixtures, air conditioningand heating units, motion detectors, fans, and any other devices thatcan be electrically controlled. Using the present invention, atransmitting device controls sets of devices by transmitting a controlsignal containing a location-based address (LBA) and a function code.All the devices configured to receive control signals can receive thecontrol signal. After receiving the control signal, those devices in acorresponding set (e.g. having the corresponding LBA) will perform afunction corresponding to the function code, such as adjusting alighting level, turning on a fan, adjusting a thermostat, etc. Thetransmitting device can be a separate device used solely for controllingother devices, it is able to function as both a transmitting device anda receiving device, or it can be any other type of device.

Embodiments of the present invention have many useful applications inthe home or office. For example, a homeowner can program one or moresets of lights to have a common LD so that by pressing a button toinvoke a single command lights along her walkway and in the living roomare automatically turned on, thereby creating a lighted and thus safepathway from her garage and into her house. The present invention can beused to increase security in other ways. For example, the homeowner canstore information relating to light settings for each room when she ishome. When she is away, these settings can be automatically recalled,giving would-be intruders the impression that she is home.

In a preferred embodiment, the devices to be controlled are part of anenvironment that has some inherent (generally, spatial) organization.The organization is two-dimensional, such as a floor plan of a singlefloor in a single building); or it is multi-dimensional, composed ofmany structures, with each structure having multiple floors and eachfloor having one or more plans.

In accordance with the present invention an address is not tied to atransmitting or receiving device, which can change, increase or decreasein number, or be replaced upon failure. Instead, each address is basedupon an unchanging concept—a floor plan. Moreover, because most controloperations performed in a facility are directed to some part or parts ofthe facility's floor plan, the addressing scheme allows the control tobe achieved using the minimum number of messages. For example, all loadsin a house can be turned off with a single message, by simply settingthe LD to describe that part of the floor plan. The corresponding LBAscan be more compact (requiring fewer bits for storage and transmission)than a traditional serial number or other unique identifier, as thatmust guarantee uniqueness across all such devices ever produced, in theentire world. In contrast, the LBAs must simply uniquely identify allseparable parts of a typical floor plan.

LBA's must be used in communications schemes to permit theidentification of intended recipients of a message or command, and topermit (optionally) the identification of respondents, when replies tosuch messages are sent.

The location-based address is an n-tuple that describes all or a portionof the available control environment in a uniform manner. Thus, eachinstalled device possesses one or more location descriptors, each ann-tuple describing where it finds itself in the environment. Althoughnormally a device has a single location, it may possess more, as theenvironment can change in some situations. For example, a movablepartition or wall may temporarily divide a single large room intosmaller rooms, as is commonly done in ballrooms in hotels. A device insuch a facility is able to have two different location descriptors, onefor the case where the partition wall is open, and another for the casewhen it is closed. If the device itself cannot be made aware of whetherthe partition wall is presently open or closed, it can simply store bothstates and respond to either.

The hierarchical n-tuple has an immediately useful meaning to a varietyof people such as a constructor, maintainer, owner, and user of thespace in question, much more meaning than, for example, an arbitrarynumber assigned to a device, such as a serial number.

The device wishing to initiate a change in the environmental state sendsa message, containing an address that consists of another locationdescriptor, describing the subset of the environment that it wishes tooperate upon, and an appropriate command (e.g. function) and data. Eachreceiving device compares the LBA in the received message to its set oflocation descriptors. If the LBA matches one of those descriptors, thereceiving device will act upon the message. If the LBA does not matchone of those descriptors, the receiving device will ignore the message.

Preferably, the LBA's are structured in a hierarchical manner: In thisway, devices can belong to more than one LBA, such as to a firsthigher-level LBA corresponding to a house and also to a secondlower-level LBA corresponding to a room contained in the house. Acontrol signal addressed to the high-level LBA can thus be used tocontrol all the devices in the house and a control signal addressed tothe second lower-level LBA can be used to control devices in the roomcontained in the house. Using such a hierarchical LBA structure, sets ofdevices can be easily controlled.

As used herein, an LBA refers to an address that preferably correspondsto a particular location. For example, if a house location is specifiedby the address 1111 and a room location specified by the address 2222, adevice's complete LBA can be represented by the LBA 11112222. Controlsignals addressed to the LBA 11112222 and containing a function code canbe used to control the devices in the room, etc. Devices can be thoughtto belong to several hierarchical domains, all but the first being asub-domain of a higher-level domain. Each device can therefore beconsidered to have multiple corresponding LDs.

As used herein, a control signal is an analog or digital data streamused to control a device and includes an LBA and a function code. Thefunction code corresponds to a function that a device can perform. Thus,when a device with a corresponding LD receives a control signalcontaining a function code corresponding to the turning off the device,the device will power off when it receives the control signal. A controlsignal can be transmitted from a transmitting device for controlling oneor more receiving devices. A single device is able to function both as atransmitting device and as a receiving device and can thus be equippedwith a transceiver to both transmit and receive control signals. Asdescribed in more detail below, in one embodiment, pressing one or morebuttons on a panel of the transmitting device can generate controlsignals ⋅ that are used to control devices commissioned to have aparticular LD.

FIG. 1 is a schematic diagram of a building 10 used to describe how tocontrol devices using location-based addressing in accordance with thepresent invention. The building 10 contains a first floor 100 and asecond floor 200. The first floor 100 contains a first room 110, asecond room 115, and a third room 120. The first room contains a firstset of devices 110L and a second set of devices 110H. The first set 110Lcontains the light fixtures 110L1, 110L2, and 110L3, all having a commonLD (such as a an LD designating a set within a room, where the room ison a particular floor within a particular building) and controllable inaccordance with the present invention using corresponding LBAs. Theassignment to a particular set is based on the physical location withinthe room and also by the device type, here, light fixtures. The secondset of devices 110H contains the electrical heater 110H1 havingassociated with it (e.g. stored in its memory) one or more LDs andcontrollable using corresponding LBAs.

Preferably, devices are commissioned into a set of devices that areproximate to each other, such as when the devices in the set are allcontained in a single room or in a single partitioned area. It will beappreciated, however, that devices can be commissioned into a single seteven though they are not all proximate. Devices can thus be commissionedinto a set to fit any application at hand. For example, all the desklamps in all the rooms in a building can be commissioned into one set.By addressing a control signal to this set (e.g. using the LBAcorresponding to LDs of this set), all of the lamps can be controlled sothat they all turn on at a pre-determined time.

In accordance with the present invention, the lighting fixtures 110L1,110L2, and 110L3 each can be turned on or off and can have each of theirlighting intensities adjusted merely by adjusting the settings on asingle transmitting device. The on, off, and adjustment capabilitiescorrespond to the functions that can be performed on each of thelighting fixtures 110L1, 110L2, and 110L3 in accordance with the presentinvention. Similarly, functions performed on the electrical heater 110H1in accordance with the present invention include, but are not limitedto, turning it on or off or adjusting its temperature using athermostat. Thus, by activating a single transmitting device, alldevices in a set can be controlled to have the same settings. Asdescribed above and below, each of the lighting fixtures 110L1, 110L2,110L3 is able to function as both a transmitting device and a receivingdevice (i.e. a controlling device and a controlled device). Thus, if thelighting fixture 110L1 functions as a transmitting device, when thesettings on the lighting fixture 110L1 are changed, the lighting fixture110LI transmits control signals that automatically adjust the settingson the lighting fixtures 110L2 and 110L3 to mirror the settings on thelighting fixture 110L1.

As described above and in more detail below, the set 110L is responsiveto multiple LBAs. For example, one LBA associated with the set 110Lcorresponds to the building 10 containing the set 110L. A second LBAassociated with the set 110L corresponds to the floor 100 containing theset 110L. A third LBA associated with the set 110L corresponds to theoffice 110 containing the set 110L. A fourth LBA associated with the set110L corresponds to a device type of the group set 110L. Thus, atransmitting device can control the devices in the set 110L using anyone of the following addresses: (1) an LBA corresponding to the building10 (and thus all of the devices in the building 10), (2) an LBAcorresponding to the floor 100, (3) an LBA corresponding to the room110, or (4) an LBA corresponding to the set (e.g. device type) 110L.Thus, for example, all of the devices in the group set 110L can beturned on by transmitting a control signal containing the function codeTURN_ON and any one of the following LBAs: building 10, floor 100, room100, or group set 110L.

Still referring to FIG. 1, a control signal containing the function codeTURN_ON and the LBA corresponding to the set 110L will turn on thedevices in the set 110L but not those in the set 1105. Preferably, thecontrol signal is an anonymous multicast control signal, described inmore detail below. It will be appreciated that a set can be configuredso that some or none of its members are contained in a hierarchical set(e.g. set 110L) and the remainder of its members are not contained inthe same hierarchical set. Thus, for example, a set can be configured tocontain the devices, 110L1, 110L2, 110L3, and 210H1, which, as describedbelow, are contained in the room 210. It will be appreciated that setscan be configured to contain any combination of devices that can receivethe transmitted control signal, determined by the application at hand.

In accordance with one embodiment, a control signal is transmittedmultiple times to ensure that a receiving device receives the controlsignal. In this embodiment, the receiving device does not transmit aresponse signal to the transmitting device. Response signals are used tonotify the transmitting device that the receiving device received thecontrol signal. Instead, in this embodiment, the transmitting devicetransmits the control signal a pre-determined number of times, therebyincreasing the likelihood that the receiving device receives the controlsignal. Thus, even when interference prevents the receiving device fromreceiving one transmission of the control signal, the receiving devicecan receive other transmissions after the interference has subsided.Thus, multiple transmissions of a control signal can be used as afail-safe method.

The elements in FIG. 1 are now discussed to describe other embodimentsof the present invention. The second room 115 contains the set 115Lcomprising the light fixture 115L1. The third room 120 contains the set120A and the set 120H. The set 120A comprises the air-conditioning unit120A1. The set 120H comprises the electrical heaters 120H1 and 120H2.

The second floor 200 contains a first room 210, a second room 215, and athird room 220. The first room 210 contains a first set of devices 210F,a second set of devices 210M, and a third set of devices 210H. The firstset of devices 210F contains a first fan 210F1 and a second fan 210F2.The second set of devices 210M contains a first motion detector 210M1and a second motion detector 210M2. The third set of devices 210Hcontains the electrical heater 210H1. The second room 215 and the thirdroom 220 contain no sets of devices.

As discussed above, sets of devices can be configured in different ways.For example, a set can be formed by commissioning into the set a firstset of lights in a first room and a second set of lights in a secondroom. Sets can thus be organized quickly and easily using location,type, other factors, or any combination of these to fit the applicationat hand.

FIG. 2 is a schematic diagram of the room 110 shown in FIG. 1. FIG. 2shows a receiving device 100L1 that also functions as a transmittingdevice. In this configuration, the receiving device is referred to as amaster receiving device 110L1. The master receiving device 110L1transmits a control signal to the devices 110L1, 110L2, and 110H1 in theroom 110. The control signal has a target address (also referred to asthe target LBA or destination address) corresponding to the set 110L.All of the devices 110L2, 110L3, and 100H1 receive the control signal,but because only the devices 110L2 and 110L3 are commissioned to havethe destination address LD corresponding to the set 110L, only they arecontrolled by the control signal. That is, only devices 110L2 and 110L3will perform the function corresponding to the function code (e.g. turnon, turn off, adjust one or more settings) contained in the controlsignal. It will be appreciated that in one embodiment forming apeer-to-peer system, each of the devices 110L1, 10L2, and 110L3 is ableto function as both a transmitting device and a receiving device.Preferably, the transmitting device 100L1 is fixed in the room,connected by a socket, cabling, or the like. FIG. 3 shows the room 110of FIG. 1, with a portable (e.g. non-fixed) control device 150.

FIG. 4 illustrates a system 250 for controlling a device in accordancewith the present invention. The system 250 comprises a transmittingdevice 251, a transmission medium 251, a first device 255 contained in afirst set of devices, and a second device 260 contained in a second setof devices. As illustrated in FIG. 3, the transmitting device transmitsa control signal containing a transmitted LBA and a function code. TheLBA corresponds to room 5 (e.g. all the sets in room 5) and the functioncode corresponds to the command for setting the lighting level to 75% ofa lighting unit's maximum value. The control signal is transmitted overthe transmission medium 251 to lighting units 255 and 260. The lightingunit 255 receives the transmitted control signal and because its LDmatches or corresponds the transmitted LBA it adjusts its lighting levelto 75% of its maximum value, thereby dimming its lighting level andsaving energy. The lighting unit 260 also receives the transmittedcontrol signal but because its LD does not match the transmitted LBA, itdoes not adjust its lighting level.

As described in more detail below, the transmission medium 251 cancomprise a wireless medium, a hard-wired medium, or a combination ofboth. If the transmission medium 251 comprises a wireless medium, thetransmitting device 251 can transmit the control signal using radiofrequency (RF) waves, infrared signals, or other electromagneticradiation. Preferably, the transmitting device 251 transmits controlsignals using RF signals at frequencies set aside for low-power devices,frequencies such as those operating in the Ultra High Frequency (UHF)Industrial, Scientific, and Medical (ISM) band, approximately 902-928MHz. The ISM band is un-licensed and, because it contains lowfrequencies, components communicating over that band can use inexpensivecomponents to both transmit and receive signals. It will be appreciated,however, that RF signals having other frequencies can also be used,including but not limited to those in other un-licensed frequency bandsthat are now or may later become allocated. Hard-wired media that canalso be used in accordance with the present invention include, but arenot limited to, Ethernet cables, fiber-optic cables, power lines (e.g.in a power line network), and any other media that allows commands anddata to be transmitted to multiple electrical devices.

In accordance with the present invention, electrical devices are groupedinto logical hierarchical domains that correspond to the physicallocation of the electrical devices. FIGS. 5A and 5B are used to describehierarchical domains and how an LBA is formed in accordance with oneembodiment of the present invention. FIG. 5A is a high-level schematicof a building 300 containing a plurality of houses 310, 320, and 330. Asdescribed below, a building contains a house, which contains severalrooms, each containing sets of devices. Houses within a building can beconnected by repeaters and can also contain personal computers eachfunctioning as a transmitting device and used to collect informationabout the devices and transmitting devices in a particular domain.

FIG. 5B is used to describe how the building, houses, rooms, sets, anddevices are logically grouped into a hierarchical structure used to formlocation-based addresses. Preferably, the logical structure also mirrorsthe physical layout of the building, houses, rooms, sets, and devices toform LBAs, but this is not a requirement.

As illustrated by the hierarchical or tree structure in FIG. 5B, thebuilding 300 contains a first domain comprising a house 310 representedby the house ID 310, a house 320 identified by a house ID 320, a house330 identified by the house ID 330, a repeater 340, and a control device341. The building 300 is coupled to the first domain by a bus 225,preferably a wireless medium. To simplify the following discussion ofFIG. 5B, numeric labels will refer to both the physical location (e.g.house 320) and the location ID (e.g. house ID 320). The house 320contains a second domain (a sub-domain) containing a first room 350identified by the room ID 350, a second room identified by the room ID351, and a first set 4095 identified by the set ID 4095. The room 350contains a third domain containing a second set 4090 and a third set4092. The third set 4092 contains a first receiving device 4080 and asecond receiving device 4081. The receiving devices 4080 and 4081 can beany electrical device including, but not limited to, a lighting unit, anair-conditioning and heating unit, and a motion detector.

The architecture of the system 300 thus both logically and physicallycomprises an upper-level domain containing one or more sub-domains, witheach sub-domain further comprising either another domain or a set ofdevices. Still referring to FIG. 5B, an upper-level domain refers to thebuilding 300, which contains the sub-domains referring to the houses310, 320, and 330, the repeater 340, and the control device 341. Thesub-domain house 320 contains a sub-domain containing the room 3SO, theroom 351, and the first set 4095. The room 350 contains two sub-domains,a second set 4090 and a third set 4092. The third set 4092 contains twodevices, a first device 4080 and a second device 4081. It will beappreciated that connecting lines in FIG. 5B (e.g. bus 225) are shownmerely to illustrate the hierarchical or tree structure of theenvironment and do not represent hard-wired connections. It will also beappreciated that FIG. 5B shows a hierarchical structure in accordancewith one embodiment of the present invention. Other hierarchicalstructures are contemplated by the present invention.

In one embodiment, an LBA is generated by concatenating a uniquephysical address onto a root LBA. One example of a root LBA is the LBAformed by concatenating a building ID, a house ID, a room ID, and a setID. In one embodiment, the unique physical address is the media accesscontrol (MAC) address of a network interface card that couples abuilding to the Internet. Thus, still referring to FIG. 5B, and usingthe element labels as the IDs for the corresponding element, if a MACaddress is 1234, an LBA corresponding to the device 4080 is formed byconcatenating the MAC address 1234 with the ID's formed by traversingthe hierarchical structure 305 starting from the building ID to thedevice ID 4080, thus forming the LBA: 1234 300 320 350 4092 4080.

By setting the address of a sub-domain to all 0's (or any other wildcardsequence), all of the elements in the parent domain can be addressed andthus controlled. Thus, to address (and thus control) all of the devicesin the house 320, the LBA 1234 300 320 000 XXXX XXXX can be used, 10where X is any number. To address (and thus control) all the devices inthe room 350, the LBA 1234 300 320 350 0000 XXXX can be used. In oneembodiment, when a receiving device compares its commissioned (e.g.stored) LD with the LBA contained in a transmitted control signal, thereceiving device will compare portions of each LBA until it reaches ablock of 0's. If the LBA's match to that point, the receiving devicewill determine that it is a member of the set associated with the LBAcontained in the control signal. The receiving device will then performthe function associated with the function code contained in the controlsignal. It will be appreciated that a wildcard string can occur at anycomponent of an address structure in accordance with the presentinvention.

In other embodiments, values after the wildcard string are not ignoredbut are used to control one or more sets of devices. Thus, for example,the LBA 1234 300 320 000 456 789 is used to address, in all the rooms inthe house 320, all devices within the Group ID 456 and having a DeviceID 789. Using this structure, different rooms in a building can all havethe same group identifier and device identifier. It will be appreciatedthat any number and types of devices can be addressed and controlled inaccordance with the present invention. For example, FIG. 5B shows arepeater 340 used to extend the range of a control signal transmittedfrom a transmitting device. It will be appreciated that the repeater 340is used when control signals are transmitted using electromagneticradiation such as RF signals.

FIG. 6 is a high-level diagram of a signal structure 400 (e.g. a datastructure) that is encoded onto a control signal in accordance with oneembodiment of the present invention. The signal structure 400 comprisesan address structure 405 containing address information and a controlstructure 410 containing control information. The address informationcontains a location-based address for target devices that are to becontrolled by the control signal. The control information containsinformation that instructs the target devices to perform a selected tasksuch as turning on, turning off, or otherwise adjusting a setting.

FIG. 7A shows a template 420 for a first address structure in accordancewith one embodiment of the present invention. The template 420 has afirst field 425 for containing a building identifier, a second field 430for containing a house identifier, a third field 435 for containing aroom identifier, a fourth field 440 for containing an area identifier,and a fifth field 445 for containing a device identifier. It will beappreciated that the fields 425, 430, 435, 440, and 445 together form alocation-based address in accordance with the present invention. Asdescribed in more detail below, each of the fields 425, 430, 435, 440,and 445 can contain a text string (e.g. “North Tower”), a number (e.g.“23”), a combination of alphanumeric characters, or any symbols foruniquely identifying a building, a house, floor, a room, an area, one ormore electrical devices, or any other physical area or component as, forexample, described in a floor plan.

FIG. 7A shows an address structure 420′ corresponding to the template420 using numbers stored in the fields in the address structure 420′. Inone example, buildings in a residential community are numbered 1 to 10,houses within each building are numbered 1 to 20, rooms within eachhouse are numbered 1 to 50, areas within each room are numbered 1 to 5,and devices within each room are numbered 1 to 16. FIG. 7A shows onestructure 420′ in accordance with the present invention for addressing atarget device (1) in a particular area (5) of a particular room (3) in aparticular house (15) in a particular building (6). The structure 420′addresses the device by storing in the field 425′ the number 6,corresponding to building 6; in the field 430′ the number 15,corresponding to house 15 within the building 1; in the field 435′ thenumber 3, corresponding to the room 3 within the house 15; in the field440′ the number 5, corresponding to the area 5 within the room 3; and inthe field 445′ the number 1 corresponding to a device or a set ofdevices 1 within the area 5. Thus, by addressing a single control signalhaving the address structure 420′ and control information (discussedbelow) with a function corresponding to a power off command, all of thedevices in the device set 1 will turn off.

As used herein, the fields of an address structure are referred to as atarget element. Thus, the number 6 contained in the field 425′ isreferred to as the target house, because it receives and is controlledby the control signal containing the control structure 420. Similarly,the number 15 contained in the field 430′ is referred to as the targethouse; the number 3 contained in the field 435′ is referred to as thetarget room; the number 5 contained in the field 440′ is referred to asthe target area; and the number a contained in the field 445′ isreferred to as the target device of the target set of devices. Thisterminology is used regardless of the data type contained in a field.Thus, for example, a target house can refer to a text string such as“North Tower”, as described below.

FIG. 7B shows an address structure 420″ having the same fields as thatshown in FIG. 7A but using text strings. The field 425″ contains thetext string “North Tower”, identifying the target building, the field430″ contains the text string “Taylor House” identifying the targethouse, the field 435 “contains the text string “Living Room” identifyingthe target room, the field 440″ contains the text string “Fireplace”identifying the target area with the room, and the field 445″ containsthe text string “Mantelpiece Lamp” identifying the device to becontrolled.

FIG. 8 shows a second template 500 for an address structure inaccordance with another embodiment of the present structure. Thetemplate 500 has a first field 525 for storing a building identifier foridentifying a building, a second field 530 for containing a flooridentifier for identifying a floor within the building, a third field535 for containing a room identifier for identifying a room on thefloor, a fourth field 540 for containing an area identifier identifyingan area within the room, and a fifth field 545 for containing a deviceidentifier identifying a device within the area. It will be appreciatedthat address structures in accordance with the present invention canhave any number of fields containing any types of identifiersdetermined, for example, by a physical layout of an area reflected in afloor plan.

While FIGS. 7 A-C and 8 illustrate examples of address structures thatform part of a signal structure, signal structures also contain controlstructures. While the address structure contains information thatdetermines which devices or sets of devices are controlled by a controlsignal (the target devices), the control structure contains informationthat determines what functions are performed by the target devices. Forexample, the control structure can contain information that instructsthe target devices to turn on, turn off, or adjust their settings. Otherembodiments of control structures are described in more detail in FIGS.9 and 10 below.

FIG. 9 illustrates a template 600 for a control structure contained in(e.g. encoded onto) a control signal and used to control a device inaccordance with one embodiment of the present invention. The template600 comprises an address structure 670 and a control structure 675. Theaddress structure 670 comprises a Building ID field (BldgID) 605, aHouse ID field (HID) 610, a Group-Preset block 620, a Function codefield 630, and optional Data field 640. The Group-Preset block 620 cancontain either (1) a Room ID 620A and an optional Preset Number 620B or(2) a Group ID 620C. Here, the values of each field are determined byits location in the data structure. The Preset Number 620B is a numberthat can be used when a receiving device is initialized and refers to aparticular sequence of steps that the receiving device can execute. Itwill be appreciated that the information can have many formats and caninclude other control information including, but not limited to, fielddelimiters, start and stop bits, and redundant data. As discussed inmore detail below, the control signal can be encapsulated in a controlpacket that includes an address of the sending device (a sourceaddress), an address of the receiving device (a destination address), orboth. Including these addresses allows transmitting devices andreceiving devices to exchange response messages as part of a handshakingprotocol.

FIG. 10 shows a control (e.g. data) structure 700 encoded onto a controlsignal in accordance with the present invention. The control structure700 contains a first field 405′ containing the value 100 (correspondingto a Building ID of 100), a second field 410′ containing the value 017(corresponding to a House ID of 017), a third field 420A′ containing thevalue 043 (corresponding to a Room ID of 043), a fourth field 420B′containing the value 000 (corresponding to a preset number of 000), afifth field 430′ containing the value 234 (corresponding to a functioncode of 234), and a sixth field 440′ containing the value 075(corresponding to data of 075). Thus, for example, a transmitting devicecan send a control signal to change the lighting level of lighting unitsin a room identified by the Room ID=043, the room in a house identifiedby the House ID=017, the house in a building identified by the BuildingID=100. As one example, the function code 234 is recognized by thelighting units (e.g. receiving devices) as the function code foradjusting the lighting, and the data field 440′ contains a number (075)corresponding to the level the lighting level is to be changed to, here75% of its maximum value. Here, because the lighting units have alreadybeen initialized, there is no preset number and its value is set to 0000since the lighting units have all been initialized. In this example, thedata structure will contain the data 100 017 043 000 234 075.

It will also be appreciated that control signals can have other formats.For example, as described above, in one embodiment, a field in a controlsignal can be determined by its position in the data structure containedin the control signal. For example, the second field in the exampleabove (017) will always correspond to a house ID. Alternatively, a fieldcan be determined by the prefix of the value stored there. For example,any 4-digit field starting with the value 01 will correspond to a houseID, any 3-digit field starting with the value 04 will correspond to aroom ID, etc. In this way, control signals can be shortened since notall fields are required to adjust a receiving device. In other words,fields are not required to serve merely as place holders.

It will be appreciated that the receiving devices can be controlled inother ways using other corresponding function codes. For example, thereceiving device can be (1) turned on, (2)“turned off, (3) put intosleep mode, (4) queried for its status or for its history, such as thenumber of hours that it has been on for the week, the number of times ithas been turned on or off or (5) otherwise adjusted. A receiving devicecan be adjusted by, for example, increasing its lighting level at apredetermined rate. Each such adjustment or other action to be taken bythe receiving device will have a corresponding function code. Any numberof actions taken by a receiving device and thus corresponding functioncodes can be used in accordance with the present invention, limited onlyby the application at hand.

In one embodiment of the invention, a transmitting device can transmit acontrol signal containing a QUERY command code (a query message). Whenthe devices having the targeted LD receive the query message, eachresponds by transmitting a control signal (a response message)containing, in its data fields, statistical data about its usage or theusage of nearby receiving devices. In one embodiment, the statisticaldata includes the number of hours a device was ON in the past month, thelast date the device was serviced, etc. The transmitting device receivesthese response messages and stores them in a log file or transmits themto another host for storage in a log file for processing. Usagestatistics and other information can then be calculated for trackingdevice usage at a particular site. Such usage statistics can be used formaintenance, for security, to develop operation protocols, or for otherpurposes.

FIG. 11 is one embodiment of a table 750 contained in a memory of areceiving device, such as the logic/memory unit 815 described below inFIG. 12, in accordance with one embodiment of the present invention. Thetable 750 contains entries 751, 752, and 753, each containing an LBAdirected to a group into which the receiving device has beencommissioned with a corresponding LD. As illustrated in FIG. 11, thereceiving device has been commissioned into and is concurrently part ofthe groups with LDs 615351 (entry 751), 615354 (entry 752) and 615372(entry 753). Thus, when a control signal having a transmitted LBA istransmitted, the receiving device will compare the transmitted LBAagainst the LDs stored in the entries 751, 752, and 753 until it finds amatch. If a match is found, the receiving device will perform thefunction associated with the function code contained in the controlsignal. Otherwise, the receiving device will take no action.

FIG. 12 is a schematic diagram of a receiving device 800 in accordancewith one embodiment of the present invention. The receiving device 800comprises an antennae 810 coupled to a logic/memory unit 815, which inturn is coupled to a light bulb 820. The antennae 810 and logic/memoryunit 815 together function as a transceiver, used to transmit andreceive transmitted control signals in accordance with the presentinvention. The antennae 810 and logic/memory unit 815 together alsofunction as a processor for (1) extracting a broadcast LBA and functioncode from a broadcast control signal, (2) comparing the broadcast LBAwith an LD stored in the logic/memory unit 815 (the commissioned LD)and, if the two match, (3) performing a function associated with thefunction code. It will be appreciated that to simplify the discussion ofthe receiving device 800. FIG. 8 does not include other elementsgenerally found in a receiver, transmitter, or transceiver, such as anoscillator, a filter, and a mixer.

In one embodiment, the logic/memory unit 815 is configured to control avoltage impressed across the light bulb 810, thereby controlling theintensity of the light bulb 810. In one embodiment, the logic/memoryunit 815 thus functions in part as a remotely controlled dimmer switch.If the receiving device 800 also functions as a master receiving deviceor is configured to transmit usage data about the receiving device 800,then the logic/memory unit 815 also functions to translate LBA andfunction codes into control signals that are transmitted by the antennae810 to a transmitting device or to other receiving devices.

It will be appreciated that the receiving device 800 can be coupled to atransmitting device, other receiving devices, or both using means otherthan or in addition to the antennae 810. These other means include, butare not limited to, a network interface card. It will also beappreciated that in one embodiment, a transmitting device has astructure similar to that of the receiving device 800.

As described above, in accordance with the present invention devices arecommissioned into one or more sets of devices by assigning them one ormore LDs that can be dynamically created and maintained. FIG. 13illustrates the steps 900 of a first process performed by a first deviceand used to commission one or more other devices into a set. This canoccur, for example, when a new set is created and devices are put intothe set. FIG. 14 illustrates the corresponding steps 1000 of a secondprocess performed by a second device that is queried to join the set.

Referring to FIG. 13, the first process begins in the START step 901.The START step 901 is entered, for example, when a user presses a buttonor a sequence of buttons on the first device. Next, in the step 903, thefirst process generates a prospective set identifier for the new set. Inone embodiment, the prospective set identifier is generated by a randomnumber generator or a pseudorandom number generator. It will beappreciated that the prospective identifier can be generated by othermeans such as a timestamp generator or by other data such as the currentprocess ID. Next, in the step 905, the first process formats andtransmits a multicast message comprising (1) the function code INQUIRE,(2) the location descriptor of the first device, and (3) the prospectiveset identifier. Next, in the step 907, the first process listens forreturn (response) messages from devices within a selected area. In apreferred embodiment, the selected area includes a house having rooms tobe configured in accordance with the present invention.

Next, in the step 909, the first process waits a pre-determined time toreceive any INUSE messages. Another device will transmit an INUSEmessage to the first device if the other device possesses (e.g. is boundto) a location that includes the prospective set identifier. In thatcase, the prospective set identifier cannot be used, and the firstprocess loops back to the step 903 to generate another prospective setidentifier.

If the first device does not receive an INUSE message within thepre-determined time, it continues to the step 911. In the step 911, thefirst process begins advertising the prospective set identifier, byrepeatedly transmitting an OpenBinding message. In this embodiment, anOpenBinding message is any message that notifies a device within theselected area that a new set has been formed and a device can now joinit. As described below in relation to the step 1015 in FIG. 14, in apreferred embodiment, when a device that is available to join the setreceives the OpenBinding message, it flashes its LEDs. In oneembodiment, a device flashes its LEDs yellow if it is already a memberof the set and green if it is not. If a device is not available to joina set, either because it is in a different house or building, it willnot flash its LEDs.

Next, in the step 913, after a second device has been configured to jointhe set (see step 1023 in FIG. 14, discussed below), a user selects abutton or a sequence of buttons on the first device, thereby triggeringthe first device to generate and transmit a CloseBinding message. Asdiscussed below, when other devices receive a Closebinding message, theyrecord the previously-advertised LBA information in their locationdescriptors. The first process then terminates in the END step 915.

It will be appreciated that a device can be a member of more than oneset at one time. For example; a device can be located in a roompartitioned by a movable wall. When the wall is in one position, thedevice is contained in a first room. When the wall is moved to a secondposition, the device is contained in a second room. The device canconcurrently be a member of more than one logical set by storingmultiple LBA information, indicating that it has (e.g. is concurrentlybound to) several LBAs and is thus a member of multiple sets withcorresponding to the LDs.

Preferably, the device stores each set of LDs information in its memory.For example, the memory can contain a table having entries, each ofwhich contains a single LD. When the device receives messages addressedto a set with a transmitted LBA, a process executing on the device scansthe table. If any entry in the table has an LD that corresponds to thetransmitted LBA, the process determines that the device is a member ofthe set indicated by the transmitted LBA and takes action targeted foreach member of the set. In this way, a device can be a member ofmultiple sets having unique LDs.

FIG. 14 shows the steps 1000 performed by a second process executing ona second device that can potentially join a set responsive to anadvertised LBA, such as the LBA advertised in step 905 of FIG. 13. Thesecond process starts in the START step 1001. Next, in the step 1003,the second process listens for multicast messages, such as the multicastmessage transmitted in the step 905. After the second device receives amulticast message, the second process checks whether the multicastmessage has the function code INQUIRE. If the function code is notINQUIRE, the second process continues to the step 1007, where itperforms some LBA-associated task, such as dimming a light of the seconddevice. If the function code is INQUIRE, the second process continues tothe step 1009.

Next, in the step 1009, the second process checks whether the set IDstored in the advertised message (the advertised set ID) matches a setID stored on the second device. Preferably, one or more set IDs arestored on the second device in a table, like the one described above inreference to FIG. 13. If the advertised set ID matches one of the storedset IDs, the second process continues to the step 1011, where ittransmits an INUSE message, and then loops back to the step 1003. If theadvertised set ID does not match any stored set IDs, the second processcontinues to the step 1013.

Next, in the step 1013, the second process determines whether the seconddevice is available to join (e.g. to be bound to) the set. As describedabove, the second device may be unable to join a set if it is in adifferent building or house than that of the first (advertising) device.If the second device is not available to be bound, the second processloops back to the step 1003; otherwise, the second process continues tothe step 1015. In the step 1015, the second process causes the LEDs onthe second device to flash, yellow if the second device is already boundto the set, green if not.

After the step 1015, the second process continues to the step 1017,where it waits for a user to press a button or a sequence of buttons onthe second device, causing the second device to be bound to the set asdescribed below in the step 1023. Next, in the step 1019, the secondprocess causes the LEDs on the second device to change color, therebyindicating that it will be included in the advertised binding.

Next, in the step 1021, after a user has pressed the button or thesequence of buttons on the first device as described in the step 913 inFIG. 13, the second device receives the CloseBinding message in step1021. Next, in the step 1023, the second device records the LBAinformation in the location descriptor, thereby binding the seconddevice to the set corresponding to the advertised LBA. The secondprocess then continues to the step 1025, where it ends.

In accordance with the present invention, the devices in a set can bechanged by changing their bindings. Thus, a device can be commissionedinto a set by binding it to the LBA corresponding to the set, and adevice can be removed from a set by forming a set and not commissioningthe device into the set.

The LBA information is contained in the control signal's data field orin the data structure that defines the LBA (e.g. FIG. 4, 405, 410, 420).In addition, the transmitting device can include preset instructions inits data fields, which will later be stored in receiving devices.

The preset instructions include but are not limited to (1) a sequence ofsteps that correspond to a particular function code and are executedwhen the receiving device receives a control signal having theparticular control, (2) instructions that are performed by a receivingdevice when it is powered on, such as self-test functions, (3)instructions to set default values, or (4) any other sequence of stepsthat can be performed on a receiving device. It will be appreciated thatpreset functions can be stored on a receiving device in other ways andat other times, such as by storing the instructions in firmware when thereceiving device is being manufactured.

Control signals can be transmitted in many ways in accordance with thepresent invention. For example, a control signal can be encapsulatedinto a control packet containing the address of the sending device (thesource address) and the address of the receiving device or set ofdevices (the destination address). In a first embodiment, the sourceaddress and the destination address are any one of an LBA, a MACaddress, and an IP address. In a second embodiment, the control messageis sent without being encapsulated, having a format shown in FIG. 4,with the LBA contained in the first few bytes of the control signal. Inthis second embodiment, the sending address can optionally be stored inthe data field.

In accordance with the present invention, control signals aretransmitted as either an anonymous multicast signal, a multicast signal,a broadcast signal, or a unicast signal. FIG. 15 shows Table 1, whichlists these signals and the addresses used by each. Table 1 has a firstrow 1110, a second row 1120, a third row 1130, and a fourth row 1140,with each row containing the destination and source addresses for aparticular type of signal. The destination address for the signal in thecolumn 1115 is given in the intersection of the corresponding row andthe column 1125. The source address for each type of signal is given inthe intersection of the corresponding row and the column 1135. Thus, asshown in Table 1, a broadcast signal (row 1110) does not contain adestination address but does contain a source address, an LBA. Ananonymous multicast signal (row 1120) contains a destination address, anLBA, but does not contain a source address. A unicast signal (row 1130)contains a destination address (a MAC address) and a source address (aMAC address). A multicast signal (row 1140) contains a destinationaddress, an LBA, a source address, and a MAC address.

In accordance with a preferred embodiment, control signals aretransmitted as anonymous multicast signals. Using anonymous multicastsignals advantageously reduces the number of signals that must betransmitted to control receiving devices, thus reducing the bandwidthused by both the transmitting device and receiving devices. In addition,using anonymous multicast signals reduces the complexity of thereceiving devices since they do not have to process the source address,format a response (e.g. handshaking or acknowledgment) control signal,and transmit the response control signal, a process. As stated above,this process can be repeated. Also, as stated above, a system inaccordance with the present invention can switch between broadcastingdifferent types of signals, depending on the transmission traffic, thetime of day, or other criteria.

The other types of signals illustrated in FIG. 15 can be used in variousapplications. As a first example, in one embodiment, a transmittingdevice transmits a multicast signal to devices in a set determine towhether the devices have been commissioned to (e.g. are controlled by)another transmitting device. The transmitting device includes an LBA asthe destination address and its MAC address as the source address. Oneor more receiving devices in the room can respond directly to thetransmitting device by formatting and transmitting a response controlsignal. The response control signal will have as its destination addressthe address of the transmitting device. The response control message caninclude an LBA, which can signify that another transmitting device hasalready commissioned the receiving devices in the room. Alternatively, areceiving device can respond with a control signal containing an INUSEfunction code.

As a second example, a transmitting device can gather diagnostics,maintenance and other information. When the traffic of control signalsis low (e.g. during holidays, nights, etc.), a transmitting device cantransmit a multicast signal containing a function code corresponding toa query of maintenance or diagnostics data. Because each targetedreceiving device receives a control signal containing the transmittingdevice's MAC address, each targeted receiving device can respond to thetransmitting device by transmitting to the transmitting device (e.g.using its address as the destination address) a control signal thatcontains the receiving device's diagnostics data. The transmittingdevice can then store, analyze, or otherwise process the diagnosticsdata for all of the receiving devices in the targeted set. Thesediagnostic data can then be used for maintenance, security, monitoring,billing, or other purposes.

As a third example, receiving devices in a system can transmit multicastsignals when the system is electing a master receiving device from amonga pool of receiving devices. During this arbitration process, eachreceiving device can transmit a multicast signal containing its MACaddress as the source address. The system can be configured to selectthe receiving device with the highest numbered MAC address as the masterreceiving device for the set. Alternatively, the system can beconfigured to select the receiving device with the lowest numbered MACaddress as the master receiving device for the set. It will beappreciated that the selection process can include other criteria. Forexample, if a first MAC address identifies a first candidate as ahand-held (e.g. portable) device and a second MAC address identifies asecond candidate as a permanent (e.g. fixed) device in the domain, avoting scheme can elect the permanent device as the transmitting device.

In accordance with another embodiment of the present invention, LBA'sare used to perform “occupancy emulation.” In this embodiment, devicesare bound into a set. The states of the devices in the set are recordedover a pre-determined time. Control signals addressed to the set andcontaining function codes for adjusting the devices to the recordedvalues are later transmitted to the devices, so that the devices“playback” the environment settings. The environment will thencorrespond to the device settings when a user was home. Would-beintruders and other passers-by would believe that a homeowner was home.

This embodiment can be realized in any number of ways. As one example, arepeater located within the environment to be emulated is configured asa transmitting and receiving device. The repeater receives controlsignals transmitted and stores them in memory over a pre-determined timeperiod such as one week. The repeater can be configured to store onlyselected control signals. For example, the repeater is configured tostore only commands to lights, none to fans or heaters. Alternatively,the repeater is configured to query specific groups of devices atpre-determined intervals to retrieve and store their settings. Later,before the homeowner goes on vacation, she can activate the repeater toplay back the commands at the pre-determined time intervals so that thehouse environment (e.g. light settings) emulate the settings of aprevious week when the homeowner was home.

Using occupancy emulation in accordance with the present invention, theinitial state of an environment (from which the emulation is initiated)can be recalled using a “snapshot” command or function transmitted fromthe repeater to the receiving devices; invoking the snapshot commandrewinds the environment settings to this initial state. The snapshotcommand contains an index as an operand. The repeater transmits asnapshot command at a pre-selected time interval (e.g. every 90minutes), with the index indicating the current 90 minute interval. Whena controlled (and later, emulated) device receives the control signalwith the snapshot command, the receiving device stores its state (e.g.settings). Next, to start occupancy emulation, the repeater transmits acontrol signal containing an index to each device in the environment andinstructing each to adjust its settings to that corresponding to theindex.

In accordance with embodiments of the invention, LBAs are used to recordpresets of environments. As used herein, a “preset” or “scene” is arecalled state of an environment over time. For example, a set ofdevices are bound to a preset LBA. When all the devices in a room haveone common LBA, it is advantageous that not all devices are controlledusing that common LBA. For example, using a common control signal to putadjust the lights to a maximum value would also adjust the fans in theroom to their maximum value. In this embodiment, only the fans are boundto a preset LBA so that only they participate in the preset. Whencommissioning these devices into the preset LBA, first the devices toparticipate in the preset LBA are selected, next, the preset is recordedin the transmitting device, then the devices are bound to the preset LBAas, for example, described above in relation to FIGS. 13 and 14. It willbe appreciated that a device can have any number of presets, dependingon the application at hand.

In one embodiment, the preset state is reached over a pre-determinedtime period, thus allowing a device to gradually “ramp up” to its finalstate. Thus, when recording the preset state, the preset value andoptionally the time over which it reaches this preset value arerecorded. In yet another embodiment, the preset value can be overriddenand later reverted to. Thus, for example, a device such as a light has afirst preset state. When unauthorized entry into a room is detected, thepreset state is overridden and the light is put into a “burglar state”in which it flashes. When the flashing light is no longer needed, thelight reverts from the burglar state to the preset state.

The present invention has been described in terms of specificembodiments incorporating details to facilitate the understanding of theprinciples of construction and operation of the invention. As such,references herein to specific embodiments and details thereof are notintended to limit the scope of the claims appended hereto. For example,a transmitting device can be used to transmit control signals using LBAsfrom a remote location rather than from within a room, thus remotelycontrolling devices based on LBAs. Also, a receiving device, such asthat shown in FIG. 11, can have a receiver but not a transmitter, andcan be configured to receive but not transmit control signals. It willbe apparent to those skilled in the art that modifications can be madeto the embodiments chosen for illustration without departing from thespirit and scope of the invention.

We claim:
 1. A method for controlling one or more devices to becontrolled within a controlled environment wherein each of the one ormore devices to be controlled is programmed with one or more locationdescriptors, the method comprising the steps: transmitting a controlsignal to the one or more devices to be controlled containing a locationbased address that is an n-tuple that describes a location attribute anda function code; comparing the location-based address to at least oneprogrammed location descriptor; and performing a function correspondingto the function code when the location based address matches at leastone of the programmed location descriptors.
 2. The method of claim 1,further comprising the steps: storing a sequence of the control signals;and sequentially transmitting the sequence of the control signals over apre-determined time period.
 3. The method of claim 2 further comprisingthe step of programming a playback device configured to store thelocation based address and function codes corresponding to a sequence oftransmitted control signals over a selected time as a program.
 4. Themethod of claim 3 further comprising the step of programming theplayback device to transmit the program to the one or more devices to becontrolled by sequentially transmitting the control signals over apredetermined time period.
 5. The method of claim 1 further comprisingthe steps: comparing the location-based address to the programmedlocation descriptors; and performing a function corresponding to thefunction code when the location based address matches one or more of theprogrammed location descriptors.